#ifndef HEADERRECORD_H
#define HEADERRECORD_H

#include "ASTM.h"

class HeaderRecord : public ASTM
{
public:
    enum MsgType {
        PatientResult = 0,
        QualityResult,
        ControlResult,
        RequestSample,
        NoSample,
        Sample
    };

    HeaderRecord();
    HeaderRecord(MsgType type);

    QString buildRecord() const;
    bool analyzeRecord(const QString &str);

    //消息中可以包含的符号，固定为“\^&”
    QString symbols = "\\^&";
    //消息发送者（例：仪器-“R3MINI”；LIS-"LIS"）
    QString sender = "R3M^1";
    //消息处理类型（协议中的要处理的动作）
    MsgType msgType;
    //本通信协议版本号，如：“RL_V001”
    QString protocolVersion;
    //消息创建日期时间（格式：yyyyMMddHHmmss）
    QString creatTime;

    QString msgTypeSymbol() const;

private:
    QStringList msgTypeList{"PR", "QR", "CR", "RQ", "QA", "SA"};
};

#endif // HEADERRECORD_H
